package com.photo.photePro.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.photo.photePro.entity.Collection;

/**
 * 收藏服务接口
 */
public interface CollectionService extends IService<Collection> {
    
    /**
     * 分页查询用户收藏的作品
     * @param page 页码
     * @param pageSize 每页大小
     * @param userId 用户ID
     * @return 分页结果
     */
    Page<Collection> pageUserCollections(int page, int pageSize, Long userId);
    
    /**
     * 检查用户是否已收藏该作品
     * @param photoId 作品ID
     * @param userId 用户ID
     * @return 是否已收藏
     */
    boolean isCollected(Long photoId, Long userId);
    
    /**
     * 添加收藏
     * @param photoId 作品ID
     * @param userId 用户ID
     * @return 是否成功
     */
    boolean addCollection(Long photoId, Long userId);
    
    /**
     * 取消收藏
     * @param photoId 作品ID
     * @param userId 用户ID
     * @return 是否成功
     */
    boolean removeCollection(Long photoId, Long userId);
} 